luminance = red * RGB_LUMINANCE_RED + // XXX: should be taken from BablSpace
green * RGB_LUMINANCE_GREEN +
blue * RGB_LUMINANCE_BLUE;
- *(double *) dst[0] = _babl_trc_from_linear (trc, luminance);
+ *(double *) dst[0] = trc->trc.fun_from_linear (trc, luminance);
if (dst_bands == 2)
*(double *) dst[1] = alpha;
double red, green, blue;
double alpha;
- luminance = _babl_trc_to_linear (trc, *(double *) src[0]);
+ luminance = trc->trc.fun_to_linear (trc, *(double *) src[0]);
red = luminance;
green = luminance;
blue = luminance;
luminance = red * RGB_LUMINANCE_RED +
green * RGB_LUMINANCE_GREEN +
blue * RGB_LUMINANCE_BLUE;
- luma = _babl_trc_from_linear (trc, luminance);
+ luma = trc->trc.fun_from_linear (trc, luminance);
((double *) dst)[0] = luma * alpha;
((double *) dst)[1] = alpha;
double luminance;
luma = luma / alpha;
- luminance = _babl_trc_to_linear (trc, luma);
+ luminance = trc->trc.fun_to_linear (trc, luma);
((double *) dst)[0] = luminance;
((double *) dst)[1] = luminance;
{
int band;
for (band = 0; band < 3; band++)
- *(double *) dst[band] = _babl_trc_from_linear (trc[band], (*(double *) src[band]));
+ *(double *) dst[band] = trc[band]->trc.fun_from_linear (trc[band], (*(double *) src[band]));
for (; band < dst_bands; band++)
*(double *) dst[band] = *(double *) src[band];
int band;
for (band = 0; band < 3; band++)
{
- *(double *) dst[band] = _babl_trc_to_linear (trc[band], (*(double *) src[band]));
+ *(double *) dst[band] = trc[band]->trc.fun_to_linear (trc[band], (*(double *) src[band]));
}
for (; band < dst_bands; band++)
{
while (n--)
{
double alpha = ((double *) src)[3];
- ((double *) dst)[0] = _babl_trc_from_linear (trc[0], ((double *) src)[0]) * alpha;
- ((double *) dst)[1] = _babl_trc_from_linear (trc[1], ((double *) src)[1]) * alpha;
- ((double *) dst)[2] = _babl_trc_from_linear (trc[2], ((double *) src)[2]) * alpha;
+ ((double *) dst)[0] = trc[0]->trc.fun_from_linear (trc[0], ((double *) src)[0]) * alpha;
+ ((double *) dst)[1] = trc[0]->trc.fun_from_linear (trc[1], ((double *) src)[1]) * alpha;
+ ((double *) dst)[2] = trc[0]->trc.fun_from_linear (trc[2], ((double *) src)[2]) * alpha;
((double *) dst)[3] = alpha;
src += 4 * sizeof (double);
dst += 4 * sizeof (double);
double alpha = ((double *) src)[3];
if (alpha > BABL_ALPHA_THRESHOLD)
{
- ((double *) dst)[0] = _babl_trc_to_linear (trc[0], ((double *) src)[0] / alpha);
- ((double *) dst)[1] = _babl_trc_to_linear (trc[1], ((double *) src)[1] / alpha);
- ((double *) dst)[2] = _babl_trc_to_linear (trc[2], ((double *) src)[2] / alpha);
+ ((double *) dst)[0] = trc[0]->trc.fun_to_linear (trc[0], ((double *) src)[0] / alpha);
+ ((double *) dst)[1] = trc[1]->trc.fun_to_linear (trc[1], ((double *) src)[1] / alpha);
+ ((double *) dst)[2] = trc[2]->trc.fun_to_linear (trc[2], ((double *) src)[2] / alpha);
}
else
{
while (n--)
{
double alpha = ((double *) src)[3];
- ((double *) dst)[0] = _babl_trc_from_linear (trc[0], ((double *) src)[0]);
- ((double *) dst)[1] = _babl_trc_from_linear (trc[1], ((double *) src)[1]);
- ((double *) dst)[2] = _babl_trc_from_linear (trc[2], ((double *) src)[2]);
+ ((double *) dst)[0] = trc[0]->trc.fun_from_linear (trc[0], ((double *) src)[0]);
+ ((double *) dst)[1] = trc[1]->trc.fun_from_linear (trc[1], ((double *) src)[1]);
+ ((double *) dst)[2] = trc[2]->trc.fun_from_linear (trc[2], ((double *) src)[2]);
((double *) dst)[3] = alpha;
src += 4 * sizeof (double);
dst += 4 * sizeof (double);
while (n--)
{
double alpha = ((double *) src)[3];
- ((double *) dst)[0] = _babl_trc_to_linear (trc[0], ((double *) src)[0]);
- ((double *) dst)[1] = _babl_trc_to_linear (trc[1], ((double *) src)[1]);
- ((double *) dst)[2] = _babl_trc_to_linear (trc[2], ((double *) src)[2]);
+ ((double *) dst)[0] = trc[0]->trc.fun_to_linear (trc[0], ((double *) src)[0]);
+ ((double *) dst)[1] = trc[1]->trc.fun_to_linear (trc[1], ((double *) src)[1]);
+ ((double *) dst)[2] = trc[2]->trc.fun_to_linear (trc[2], ((double *) src)[2]);
((double *) dst)[3] = alpha;
src += 4 * sizeof (double);